The traditional soft output Viterbi algorithm (SOVA) receives soft decisions/inputs or soft information values for each bit of information being communicated, where a soft information value includes information on both the value of a bit of data the reliability that bit of data. From these soft information values the SOVA computes log-likelihood ratios (LLRs) for each bit as the minimum difference between the log of the probability of the path leading to a 0 or 1 decision for a given bit and the log of the probability of the path leading to the opposite decision for the bit. The log of the probability of the path is represented by path metric value which is the sum of a state metric and a branch metric at time a time k. The difference between the path metrics is considered only if the best path and its alternate lead to a different decision. In this case the log-likelihood ratio LLR is computed in the same way as for the max-log-map algorithm, which is another decoding algorithm as will be appreciated by those skilled in the art. The path metric difference is minimized to thereby maximize the probability (path metric) of the path leading to a decision that a bit is a 1 versus an alternate path leading to a decision that a bit is a 0. As will be appreciated by those skilled in the art, the SOVA does not perform optimally when the alternate path leads to the same decision for the bit as the best path. In this situation the traditional SOVA considers the path metric difference in updating reliability information.